package com.hanamaki.DataStruct;

import java.util.Iterator;
import java.util.LinkedList;

/**
 * @author hanamaki
 * @version 1.0
 * @date 2021/6/28 16:07
 */
public class LinkedListTest {

    public static void main(String[] args) {

//        初始化 LinkedList 集合
        LinkedList<Integer> linkedList = new LinkedList<>();

//        存值
        linkedList.add(1);
        linkedList.add(2);
        linkedList.add(3);
        linkedList.add(4);
        linkedList.add(4);
//        向集合中的第一个位置 添加值
        linkedList.add(0, 0);
        linkedList.addFirst(-1);

//        在集合的末尾 添加值
        linkedList.add(5);
        linkedList.addLast(6);
//        向4后面插入一个值
//        首先定位4的位置
        int i = linkedList.indexOf(4);
        System.out.println(i);

        linkedList.add(i + 1, 99);

//        获得 集合中的 长度
        System.out.println(linkedList.size());

        System.out.println(linkedList);


//        遍历集合
        System.out.println("通过 普通 for循环===================");
        for (int k = 0; k < linkedList.size(); k++) {
            System.out.println(linkedList.get(k));
        }


//
        System.out.println("增强for循环==========================");
        for (Integer result:
             linkedList) {
            System.out.println(result);
        }

//
        System.out.println("迭代器 遍历 集合中的 元素");
        Iterator<Integer> iterator = linkedList.iterator();
        while (iterator.hasNext()) {
            Integer next = iterator.next();
            System.out.println(next);
        }
    }


}
